package com.iris.live.services.data.models;

import javax.persistence.*;
import java.math.BigDecimal;
import java.sql.Date;
import java.sql.Timestamp;

/**
 * Created by DF on 11/15/2016
 */
@Entity
@Table(name = "报价单表",  catalog = "")
public class 报价单表Model {
    private Integer 报价编号;
    private String 许可;
    private String 报价单号;
    private String 销售顾问;
    private Integer 顾客编号;
    private String 客户类型;
    private String 公司名称;
    private Integer 车型编号;
    private Integer 库存编号;
    private String 外观;
    private String 内饰;
    private BigDecimal 原价;
    private BigDecimal 折后价;
    private String 车辆备注;
    private Integer 客户详细;
    private Integer 金融A;
    private Integer 金融B;
    private Integer 金融C;
    private Integer 金融;
    private String 金融所属经销商;
    private Integer 金融战败原因编号;
    private String 金融战败附加原因;
    private Integer 保险编号;
    private String 新保准战败原因;
    private Integer 新保战败原因编号;
    private Integer 精品;
    private Integer 费用编号;
    private Integer 置换编号;
    private Integer 延保编号;
    private Integer 订单编号;
    private Integer 交车;
    private String 当前状态;
    private Timestamp 报价时间;
    private Date 预计交车日期;
    private String 更新账号;
    private Timestamp 更新时间;
    private String 初始报价单号;
    private String 是否还原点;
    private Timestamp 还原点创建时间;
    private String 是否驳回;
    private Timestamp 驳回时间;
    private String invalidReason;
    private Integer onCredit;  // 是否挂账（1：是，0：否）
    private Integer carTypeChange; // 车型是否改变
    private String 授信额度;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "报价编号")
    public Integer get报价编号() {
        return 报价编号;
    }

    public void set报价编号(Integer 报价编号) {
        this.报价编号 = 报价编号;
    }

    @Basic
    @Column(name = "许可")
    public String get许可() {
        return 许可;
    }

    public void set许可(String 许可) {
        this.许可 = 许可;
    }

    @Basic
    @Column(name = "报价单号")
    public String get报价单号() {
        return 报价单号;
    }

    public void set报价单号(String 报价单号) {
        this.报价单号 = 报价单号;
    }

    @Basic
    @Column(name = "销售顾问")
    public String get销售顾问() {
        return 销售顾问;
    }

    public void set销售顾问(String 销售顾问) {
        this.销售顾问 = 销售顾问;
    }

    @Basic
    @Column(name = "顾客编号")
    public Integer get顾客编号() {
        return 顾客编号;
    }

    public void set顾客编号(Integer 顾客编号) {
        this.顾客编号 = 顾客编号;
    }

    @Basic
    @Column(name = "客户类型")
    public String get客户类型() {
        return 客户类型;
    }

    public void set客户类型(String 客户类型) {
        this.客户类型 = 客户类型;
    }

    @Basic
    @Column(name = "公司名称")
    public String get公司名称() {
        return 公司名称;
    }

    public void set公司名称(String 公司名称) {
        this.公司名称 = 公司名称;
    }

    @Basic
    @Column(name = "车型编号")
    public Integer get车型编号() {
        return 车型编号;
    }

    public void set车型编号(Integer 车型编号) {
        this.车型编号 = 车型编号;
    }

    @Basic
    @Column(name = "库存编号")
    public Integer get库存编号() {
        return 库存编号;
    }

    public void set库存编号(Integer 库存编号) {
        this.库存编号 = 库存编号;
    }

    @Basic
    @Column(name = "外观")
    public String get外观() {
        return 外观;
    }

    public void set外观(String 外观) {
        this.外观 = 外观;
    }

    @Basic
    @Column(name = "内饰")
    public String get内饰() {
        return 内饰;
    }

    public void set内饰(String 内饰) {
        this.内饰 = 内饰;
    }

    @Basic
    @Column(name = "原价")
    public BigDecimal get原价() {
        return 原价;
    }

    public void set原价(BigDecimal 原价) {
        this.原价 = 原价;
    }

    @Basic
    @Column(name = "折后价")
    public BigDecimal get折后价() {
        return 折后价;
    }

    public void set折后价(BigDecimal 折后价) {
        this.折后价 = 折后价;
    }

    @Basic
    @Column(name = "车辆备注")
    public String get车辆备注() {
        return 车辆备注;
    }

    public void set车辆备注(String 车辆备注) {
        this.车辆备注 = 车辆备注;
    }

    @Basic
    @Column(name = "客户详细")
    public Integer get客户详细() {
        return 客户详细;
    }

    public void set客户详细(Integer 客户详细) {
        this.客户详细 = 客户详细;
    }

    @Basic
    @Column(name = "金融A")
    public Integer get金融A() {
        return 金融A;
    }

    public void set金融A(Integer 金融A) {
        this.金融A = 金融A;
    }

    @Basic
    @Column(name = "金融B")
    public Integer get金融B() {
        return 金融B;
    }

    public void set金融B(Integer 金融B) {
        this.金融B = 金融B;
    }

    @Basic
    @Column(name = "金融C")
    public Integer get金融C() {
        return 金融C;
    }

    public void set金融C(Integer 金融C) {
        this.金融C = 金融C;
    }

    @Basic
    @Column(name = "金融")
    public Integer get金融() {
        return 金融;
    }

    public void set金融(Integer 金融) {
        this.金融 = 金融;
    }

    @Basic
    @Column(name = "金融所属经销商")
    public String get金融所属经销商() {
        return 金融所属经销商;
    }

    public void set金融所属经销商(String 金融所属经销商) {
        this.金融所属经销商 = 金融所属经销商;
    }

    @Basic
    @Column(name = "金融战败原因编号")
    public Integer get金融战败原因编号() {
        return 金融战败原因编号;
    }

    public void set金融战败原因编号(Integer 金融战败原因编号) {
        this.金融战败原因编号 = 金融战败原因编号;
    }

    @Basic
    @Column(name = "金融战败附加原因")
    public String get金融战败附加原因() {
        return 金融战败附加原因;
    }

    public void set金融战败附加原因(String 金融战败附加原因) {
        this.金融战败附加原因 = 金融战败附加原因;
    }

    @Basic
    @Column(name = "保险编号")
    public Integer get保险编号() {
        return 保险编号;
    }

    public void set保险编号(Integer 保险编号) {
        this.保险编号 = 保险编号;
    }

    @Basic
    @Column(name = "新保准战败原因")
    public String get新保准战败原因() {
        return 新保准战败原因;
    }

    public void set新保准战败原因(String 新保准战败原因) {
        this.新保准战败原因 = 新保准战败原因;
    }

    @Basic
    @Column(name = "新保战败原因编号")
    public Integer get新保战败原因编号() {
        return 新保战败原因编号;
    }

    public void set新保战败原因编号(Integer 新保战败原因编号) {
        this.新保战败原因编号 = 新保战败原因编号;
    }

    @Basic
    @Column(name = "精品")
    public Integer get精品() {
        return 精品;
    }

    public void set精品(Integer 精品) {
        this.精品 = 精品;
    }

    @Basic
    @Column(name = "费用编号")
    public Integer get费用编号() {
        return 费用编号;
    }

    public void set费用编号(Integer 费用编号) {
        this.费用编号 = 费用编号;
    }

    @Basic
    @Column(name = "置换编号")
    public Integer get置换编号() {
        return 置换编号;
    }

    public void set置换编号(Integer 置换编号) {
        this.置换编号 = 置换编号;
    }

    @Basic
    @Column(name = "延保编号")
    public Integer get延保编号() {
        return 延保编号;
    }

    public void set延保编号(Integer 延保编号) {
        this.延保编号 = 延保编号;
    }

    @Basic
    @Column(name = "订单编号")
    public Integer get订单编号() {
        return 订单编号;
    }

    public void set订单编号(Integer 订单编号) {
        this.订单编号 = 订单编号;
    }

    @Basic
    @Column(name = "交车")
    public Integer get交车() {
        return 交车;
    }

    public void set交车(Integer 交车) {
        this.交车 = 交车;
    }

    @Basic
    @Column(name = "当前状态")
    public String get当前状态() {
        return 当前状态;
    }

    public void set当前状态(String 当前状态) {
        this.当前状态 = 当前状态;
    }

    @Basic
    @Column(name = "报价时间")
    public Timestamp get报价时间() {
        return 报价时间;
    }

    public void set报价时间(Timestamp 报价时间) {
        this.报价时间 = 报价时间;
    }

    @Basic
    @Column(name = "预计交车日期")
    public Date get预计交车日期() {
        return 预计交车日期;
    }

    public void set预计交车日期(Date 预计交车日期) {
        this.预计交车日期 = 预计交车日期;
    }

    @Basic
    @Column(name = "更新账号")
    public String get更新账号() {
        return 更新账号;
    }

    public void set更新账号(String 更新账号) {
        this.更新账号 = 更新账号;
    }

    @Basic
    @Column(name = "更新时间")
    public Timestamp get更新时间() {
        return 更新时间;
    }

    public void set更新时间(Timestamp 更新时间) {
        this.更新时间 = 更新时间;
    }

    @Basic
    @Column(name = "初始报价单号")
    public String get初始报价单号() {
        return 初始报价单号;
    }

    public void set初始报价单号(String 初始报价单号) {
        this.初始报价单号 = 初始报价单号;
    }

    @Basic
    @Column(name = "是否还原点")
    public String get是否还原点() {
        return 是否还原点;
    }

    public void set是否还原点(String 是否还原点) {
        this.是否还原点 = 是否还原点;
    }

    @Basic
    @Column(name = "还原点创建时间")
    public Timestamp get还原点创建时间() {
        return 还原点创建时间;
    }

    public void set还原点创建时间(Timestamp 还原点创建时间) {
        this.还原点创建时间 = 还原点创建时间;
    }

    @Basic
    @Column(name = "是否驳回")
    public String get是否驳回() {
        return 是否驳回;
    }

    public void set是否驳回(String 是否驳回) {
        this.是否驳回 = 是否驳回;
    }

    @Basic
    @Column(name = "驳回时间")
    public Timestamp get驳回时间() {
        return 驳回时间;
    }

    public void set驳回时间(Timestamp 驳回时间) {
        this.驳回时间 = 驳回时间;
    }

    @Basic
    @Column(name = "invalid_reason")
    public String getInvalidReason() {
        return invalidReason;
    }

    public void setInvalidReason(String invalidReason) {
        this.invalidReason = invalidReason;
    }

    @Basic
    @Column(name = "onCredit")
    public Integer getOnCredit() {
        return onCredit;
    }

    public void setOnCredit(Integer onCredit) {
        this.onCredit = onCredit;
    }

    @Basic
    @Column(name = "carTypeChange")
    public Integer getCarTypeChange() {
        return carTypeChange;
    }

    public void setCarTypeChange(Integer carTypeChange) {
        this.carTypeChange = carTypeChange;
    }

    @Basic
    @Column(name = "授信额度")
    public String get授信额度() {
        return 授信额度;
    }

    public void set授信额度(String 授信额度) {
        this.授信额度 = 授信额度;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        报价单表Model model = (报价单表Model) o;

        if (报价编号 != null ? !报价编号.equals(model.报价编号) : model.报价编号 != null) return false;
        if (许可 != null ? !许可.equals(model.许可) : model.许可 != null) return false;
        if (报价单号 != null ? !报价单号.equals(model.报价单号) : model.报价单号 != null) return false;
        if (销售顾问 != null ? !销售顾问.equals(model.销售顾问) : model.销售顾问 != null) return false;
        if (顾客编号 != null ? !顾客编号.equals(model.顾客编号) : model.顾客编号 != null) return false;
        if (客户类型 != null ? !客户类型.equals(model.客户类型) : model.客户类型 != null) return false;
        if (公司名称 != null ? !公司名称.equals(model.公司名称) : model.公司名称 != null) return false;
        if (车型编号 != null ? !车型编号.equals(model.车型编号) : model.车型编号 != null) return false;
        if (库存编号 != null ? !库存编号.equals(model.库存编号) : model.库存编号 != null) return false;
        if (外观 != null ? !外观.equals(model.外观) : model.外观 != null) return false;
        if (内饰 != null ? !内饰.equals(model.内饰) : model.内饰 != null) return false;
        if (原价 != null ? !原价.equals(model.原价) : model.原价 != null) return false;
        if (折后价 != null ? !折后价.equals(model.折后价) : model.折后价 != null) return false;
        if (车辆备注 != null ? !车辆备注.equals(model.车辆备注) : model.车辆备注 != null) return false;
        if (客户详细 != null ? !客户详细.equals(model.客户详细) : model.客户详细 != null) return false;
        if (金融A != null ? !金融A.equals(model.金融A) : model.金融A != null) return false;
        if (金融B != null ? !金融B.equals(model.金融B) : model.金融B != null) return false;
        if (金融C != null ? !金融C.equals(model.金融C) : model.金融C != null) return false;
        if (金融 != null ? !金融.equals(model.金融) : model.金融 != null) return false;
        if (金融所属经销商 != null ? !金融所属经销商.equals(model.金融所属经销商) : model.金融所属经销商 != null) return false;
        if (金融战败原因编号 != null ? !金融战败原因编号.equals(model.金融战败原因编号) : model.金融战败原因编号 != null) return false;
        if (金融战败附加原因 != null ? !金融战败附加原因.equals(model.金融战败附加原因) : model.金融战败附加原因 != null) return false;
        if (保险编号 != null ? !保险编号.equals(model.保险编号) : model.保险编号 != null) return false;
        if (新保准战败原因 != null ? !新保准战败原因.equals(model.新保准战败原因) : model.新保准战败原因 != null) return false;
        if (新保战败原因编号 != null ? !新保战败原因编号.equals(model.新保战败原因编号) : model.新保战败原因编号 != null) return false;
        if (精品 != null ? !精品.equals(model.精品) : model.精品 != null) return false;
        if (费用编号 != null ? !费用编号.equals(model.费用编号) : model.费用编号 != null) return false;
        if (置换编号 != null ? !置换编号.equals(model.置换编号) : model.置换编号 != null) return false;
        if (延保编号 != null ? !延保编号.equals(model.延保编号) : model.延保编号 != null) return false;
        if (订单编号 != null ? !订单编号.equals(model.订单编号) : model.订单编号 != null) return false;
        if (交车 != null ? !交车.equals(model.交车) : model.交车 != null) return false;
        if (当前状态 != null ? !当前状态.equals(model.当前状态) : model.当前状态 != null) return false;
        if (报价时间 != null ? !报价时间.equals(model.报价时间) : model.报价时间 != null) return false;
        if (预计交车日期 != null ? !预计交车日期.equals(model.预计交车日期) : model.预计交车日期 != null) return false;
        if (更新账号 != null ? !更新账号.equals(model.更新账号) : model.更新账号 != null) return false;
        if (更新时间 != null ? !更新时间.equals(model.更新时间) : model.更新时间 != null) return false;
        if (初始报价单号 != null ? !初始报价单号.equals(model.初始报价单号) : model.初始报价单号 != null) return false;
        if (是否还原点 != null ? !是否还原点.equals(model.是否还原点) : model.是否还原点 != null) return false;
        if (还原点创建时间 != null ? !还原点创建时间.equals(model.还原点创建时间) : model.还原点创建时间 != null) return false;
        if (是否驳回 != null ? !是否驳回.equals(model.是否驳回) : model.是否驳回 != null) return false;
        if (驳回时间 != null ? !驳回时间.equals(model.驳回时间) : model.驳回时间 != null) return false;
        if (invalidReason != null ? !invalidReason.equals(model.invalidReason) : model.invalidReason != null)
            return false;
        if (onCredit != null ? !onCredit.equals(model.onCredit) : model.onCredit != null) return false;
        if (carTypeChange != null ? !carTypeChange.equals(model.carTypeChange) : model.carTypeChange != null) return false;
        if (授信额度 != null ? !授信额度.equals(model.授信额度) : model.授信额度 != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = 报价编号 != null ? 报价编号.hashCode() : 0;
        result = 31 * result + (许可 != null ? 许可.hashCode() : 0);
        result = 31 * result + (报价单号 != null ? 报价单号.hashCode() : 0);
        result = 31 * result + (销售顾问 != null ? 销售顾问.hashCode() : 0);
        result = 31 * result + (顾客编号 != null ? 顾客编号.hashCode() : 0);
        result = 31 * result + (客户类型 != null ? 客户类型.hashCode() : 0);
        result = 31 * result + (公司名称 != null ? 公司名称.hashCode() : 0);
        result = 31 * result + (车型编号 != null ? 车型编号.hashCode() : 0);
        result = 31 * result + (库存编号 != null ? 库存编号.hashCode() : 0);
        result = 31 * result + (外观 != null ? 外观.hashCode() : 0);
        result = 31 * result + (内饰 != null ? 内饰.hashCode() : 0);
        result = 31 * result + (原价 != null ? 原价.hashCode() : 0);
        result = 31 * result + (折后价 != null ? 折后价.hashCode() : 0);
        result = 31 * result + (车辆备注 != null ? 车辆备注.hashCode() : 0);
        result = 31 * result + (客户详细 != null ? 客户详细.hashCode() : 0);
        result = 31 * result + (金融A != null ? 金融A.hashCode() : 0);
        result = 31 * result + (金融B != null ? 金融B.hashCode() : 0);
        result = 31 * result + (金融C != null ? 金融C.hashCode() : 0);
        result = 31 * result + (金融 != null ? 金融.hashCode() : 0);
        result = 31 * result + (金融所属经销商 != null ? 金融所属经销商.hashCode() : 0);
        result = 31 * result + (金融战败原因编号 != null ? 金融战败原因编号.hashCode() : 0);
        result = 31 * result + (金融战败附加原因 != null ? 金融战败附加原因.hashCode() : 0);
        result = 31 * result + (保险编号 != null ? 保险编号.hashCode() : 0);
        result = 31 * result + (新保准战败原因 != null ? 新保准战败原因.hashCode() : 0);
        result = 31 * result + (新保战败原因编号 != null ? 新保战败原因编号.hashCode() : 0);
        result = 31 * result + (精品 != null ? 精品.hashCode() : 0);
        result = 31 * result + (费用编号 != null ? 费用编号.hashCode() : 0);
        result = 31 * result + (置换编号 != null ? 置换编号.hashCode() : 0);
        result = 31 * result + (延保编号 != null ? 延保编号.hashCode() : 0);
        result = 31 * result + (订单编号 != null ? 订单编号.hashCode() : 0);
        result = 31 * result + (交车 != null ? 交车.hashCode() : 0);
        result = 31 * result + (当前状态 != null ? 当前状态.hashCode() : 0);
        result = 31 * result + (报价时间 != null ? 报价时间.hashCode() : 0);
        result = 31 * result + (预计交车日期 != null ? 预计交车日期.hashCode() : 0);
        result = 31 * result + (更新账号 != null ? 更新账号.hashCode() : 0);
        result = 31 * result + (更新时间 != null ? 更新时间.hashCode() : 0);
        result = 31 * result + (初始报价单号 != null ? 初始报价单号.hashCode() : 0);
        result = 31 * result + (是否还原点 != null ? 是否还原点.hashCode() : 0);
        result = 31 * result + (还原点创建时间 != null ? 还原点创建时间.hashCode() : 0);
        result = 31 * result + (是否驳回 != null ? 是否驳回.hashCode() : 0);
        result = 31 * result + (驳回时间 != null ? 驳回时间.hashCode() : 0);
        result = 31 * result + (invalidReason != null ? invalidReason.hashCode() : 0);
        result = 31 * result + (onCredit != null ? onCredit.hashCode() : 0);
        result = 31 * result + (carTypeChange != null ? carTypeChange.hashCode() : 0);
        result = 31 * result + (授信额度 != null ? 授信额度.hashCode() : 0);
        return result;
    }
}
